package com.ruoyi.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.io.Serializable;


/**
 * 归档策略视图对象
 *
 * @author ruoyi
 * @date 2024-12-06
 */
@Data
@ExcelIgnoreUnannotated
public class ArchiveStrategyVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 归档策略名称
     */
    @ExcelProperty(value = "归档策略名称")
    private String name;

    /**
     * 策略类型：1：压缩表归档、2：SQL文件归档
     */
    @ExcelProperty(value = "策略类型：1：压缩表归档、2：SQL文件归档")
    private Integer strategyType;

    /**
     * 源表名
     */
    @ExcelProperty(value = "源表名")
    private String sourceTable;

    /**
     * 源表主键
     */
    @ExcelProperty(value = "源表主键")
    private String sourcePk;

    /**
     * 目标表名
     */
    @ExcelProperty(value = "目标表名")
    private String targetTable;

    /**
     * 目标表主键
     */
    @ExcelProperty(value = "目标表主键")
    private String targetPk;

    /**
     * 源表字段
     */
    @ExcelProperty(value = "源表字段")
    private String sourceFields;

    /**
     * 目标表字段
     */
    @ExcelProperty(value = "目标表字段")
    private String targetFields;

    /**
     * 执行脚本
     */
    @ExcelProperty(value = "执行脚本")
    private String script;

    /**
     * 归档位置
     */
    @ExcelProperty(value = "归档位置")
    private Long locationId;

    /**
     * 归档位置名称
     */
    @ExcelProperty(value = "归档位置名称")
    private String locationName;

    /**
     * 发布状态：0未发布、1已发布
     */
    @ExcelProperty(value = "发布状态：0未发布、1已发布")
    private Long pubStatus;


}
